package coretest;

public class PsrTest{
	public PsrTest(){
		core.PsrClass psrVar = new core.PsrClass();

		psrVar.setFlags(0);
		assert(psrVar.getFlags() == 0);

		psrVar.setC(1);
		assert(psrVar.getFlags() == 1);
		assert(psrVar.getC() == 1);
		assert(psrVar.getN() == 0);
		assert(psrVar.getZ() == 0);

		psrVar.setC(0);
		assert(psrVar.getFlags() == 0);
		assert(psrVar.getC() == 0);
		assert(psrVar.getN() == 0);
		assert(psrVar.getZ() == 0);

		psrVar.setC(1);
		assert(psrVar.getFlags() == 1);
		assert(psrVar.getC() == 1);
		assert(psrVar.getN() == 0);
		assert(psrVar.getZ() == 0);

		psrVar.setZ(1);
		assert(psrVar.getFlags() == 3);
		assert(psrVar.getC() == 1);
		assert(psrVar.getZ() == 1);
		assert(psrVar.getN() == 0);

		psrVar.setZ(0);
		assert(psrVar.getFlags() == 1);
		assert(psrVar.getC() == 1);
		assert(psrVar.getZ() == 0);
		assert(psrVar.getN() == 0);

		psrVar.setZ(1);
		assert(psrVar.getFlags() == 3);
		assert(psrVar.getC() == 1);
		assert(psrVar.getZ() == 1);
		assert(psrVar.getN() == 0);

		psrVar.setN(1);
		assert(psrVar.getFlags() == 7);
		assert(psrVar.getC() == 1);
		assert(psrVar.getZ() == 1);
		assert(psrVar.getN() == 1);

		psrVar.setN(0);
		assert(psrVar.getFlags() == 3);
		assert(psrVar.getC() == 1);
		assert(psrVar.getZ() == 1);
		assert(psrVar.getN() == 0);

		psrVar.setN(1);
		assert(psrVar.getFlags() == 7);
		assert(psrVar.getC() == 1);
		assert(psrVar.getZ() == 1);
		assert(psrVar.getN() == 1);
		
		psrVar.setC(0);
		assert(psrVar.getFlags() == 6);
		assert(psrVar.getC() == 0);
		assert(psrVar.getZ() == 1);
		assert(psrVar.getN() == 1);

		psrVar.setZ(0);
		assert(psrVar.getFlags() == 4);
		assert(psrVar.getC() == 0);
		assert(psrVar.getZ() == 0);
		assert(psrVar.getN() == 1);

		System.out.println("PSR OK");
	}
	public static void main(String args[]){
		new PsrTest();
	}
}
